Automatic Performance Debugging of SPMD Parallel Programs
نویسندگان
چکیده
Automatic performance debugging of parallel applications usually involves two steps: automatic detection of performance bottlenecks and uncovering their root causes for performance optimization. Previous work fails to resolve this challenging issue in several ways: first, several previous efforts automate analysis processes, but present the results in a confined way that only identifies performance problems with apriori knowledge; second, several tools take exploratory or confirmatory data analysis to automatically discover relevant performance data relationships. However, these efforts do not focus on locating performance bottlenecks or uncovering their root causes. In this paper, we design and implement an innovative system, AutoAnalyzer, to automatically debug the performance problems of single program multi-data (SPMD) parallel programs. Our system is unique in terms of two dimensions: first, without any apriori knowledge, we automatically locate bottlenecks and uncover their root causes for performance optimization; second, our method is lightweight in terms of size of collected and analyzed performance data. Our contribution is three-fold. First, we propose a set of simple performance metrics to represent behavior of different processes of parallel programs, and present two effective clustering and searching algorithms to locate bottlenecks. Second, we propose to use the rough set algorithm to automatically uncover the root causes of bottlenecks. Third, we design and implement the AutoAnalyzer system, and use two production applications to verify the effectiveness and correctness of our methods. According to the analysis results of AutoAnalyzer, we optimize two parallel programs with performance improvements by minimally 20% and maximally 170%.
منابع مشابه
Similarity Analysis in Automatic Performance Debugging of SPMD Parallel Programs
Different from sequential programs, parallel programs possess their own characteristics which are difficult to analyze in the multi-process or multi-thread environment. This paper presents an innovative method to automatically analyze the SPMD programs. Firstly, with the help of clustering method focusing on similarity analysis, an algorithm is designed to locate performance problems in paralle...
متن کاملAutomatic Performance Debugging of SPMD-style Parallel Programs
Automatic performance debugging of parallel applications includes twomain steps: locating performance bottlenecks and uncovering their root causes for performance optimization. Previouswork fails to resolve this challenging issue in two ways: first, several previous efforts automate locating bottlenecks, but present results in a confined way that only identifies performance problems with a prio...
متن کاملA Case Study of Selected SPLASH-2 Applications and the SBT Debugging Tool
SBT is portable library and tool for on-line debugging and performance monitoring of shared-memory parallel programs using the single-program-multiple-data (SPMD) model of parallelism. SPMD programs often use barriers to synchronize threads of execution and to delimit the start and end of different phases of computation. Through its useful barrier constructs, dynamic performance warnings, and i...
متن کاملEngineering the performance of parallel applications
Parallel computing platforms are widely used to run scientific applications. The vast majority of these applications are programmed in an explicitly parallel style. Often the performance of a parallel application is considered only after implementation in the guise of performance debugging and tuning. Performance engineering approaches incorporate performance analysis into the design phase, usi...
متن کاملOn-Line Debugging and Performance Monitoring with Barriers
We introduce the Stupid Barrier Tricks (SBT) library for on-line debugging and performance monitoring of sharedmemory parallel programs. Single-program-multiple-data (SPMD) programs often use barriers to synchronize threads of execution and to delimit the start and end of different phases of computation. Through the novel (and simple) named barriers construct, dynamic performance warnings, and ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1002.4264 شماره
صفحات -
تاریخ انتشار 2010